<template>
  <h2>当前的x.y值是：{{x.y}}</h2>
  <button @click="x={y: 888}">点我替换x</button>
  <button @click="x.y++">点我x.y+1</button>
  <hr>
  <h2>姓名：{{name}}</h2>
  <h2>年龄：{{age}}</h2>
  <h2>职位：{{job.j1.position}}</h2>
  <button @click="name+='~'">修改姓名</button>
  <button @click="age++">增长年龄</button>
  <button @click="job.j1.position+='~'">修改职位</button>
</template>

<script>
import { reactive, ref, toRefs, shallowReactive, shallowRef } from "vue";
export default {
  name: "Demo",
  setup() {
    // 数据
    // let person = shallowReactive({ // 只考虑第一层数据的响应式
    let person = reactive({
      name: "张三",
      age: 18,
      job: {
        j1: {
          position: "新生代农民工"
        }
      }
    });

    // let x = shallowRef(0)
    let x = shallowRef({
      y: 0
    });
    console.log(x);

    // 返回一个对象（常用）
    return {
      ...toRefs(person),
      x
    };
  }
};
</script>